/**
 * @brief NNet.h
 */

#ifndef NNET_H_
#define NNET_H_

#include "Controller.h"
extern "C" {
  #include "NN/network.h"
}
#include "Weight.h"
#include "SensAct.h"

class NNet : public Controller
{
public:
  NNet();
  virtual ~NNet();

private:
  void input(const Sensors& values);
  Motor& output();
  void setWeights();
  void Weights();

  Motor motor;

  Weight weight_right[NUM_SENS];
  Weight weight_left[NUM_SENS];

  Weight std_wl[NUM_SENS], std_wr[NUM_SENS];

  double os_2[NUM_SENS];
  double os_1[NUM_SENS];
  double os_0[NUM_SENS];

};

#endif /* NNET_H_ */
